Traditionally, World Wide Web (WWW) sites were accessed via discrete requests. To request a web page, a web browser would transmit a Hypertext Transfer Protocol (HTTP) request to a web server. The request would be processed mostly or entirely at the server. The server would then transmit Hypertext Markup Language (HTML) code representing a complete web page to the web browser. Because processing was performed primarily at the server, enterprise data assets were mostly hidden under this paradigm.
Currently, a paradigm known in the art as Web 2.0 is becoming increasingly common. Diverse motivations drive the adoption of Web 2.0. Web 2.0 sites typically have better latency than traditional web sites. Moreover, Web 2.0 enables more flexible application architectures such as “mashups.”
Web 2.0 frequently involves increased interaction between the web browser or other client and the web server. Therefore, Web 2.0 sites typically perform more processing at the client than traditional web sites. For this reason, enterprise data assets are more directly exposed for typical Web 2.0 sites than for traditional web sites. However, direct access to enterprise data assets by an untrusted client is clearly unacceptable for security reasons. In fact, it is frequently unacceptable to even allow untrusted clients read-only access to a database. Even schema information for a database, such as the names of columns, may be sensitive.
Clearly, there exists a need to ensure the security of enterprise data assets while providing robust query functionality which effectively and efficiently fulfills the needs of applications for data.